﻿using Abp.Domain.Entities.Auditing;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace AVISOutBound.SSOServer.Orders.AbgRefundOrders
{
    public class AbgRefundOrder : AuditedEntity<long>
    {
        /// <summary>
        /// 订单号
        /// </summary>
        [StringLength(50)]
        public string OrderNo { get; set; }

        /// <summary>
        /// 用户ID
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        /// 退款单号
        /// </summary>
        [StringLength(64)]
        public string RefundOrderNo { get; set; }

        /// <summary>
        /// 外部退款单号。存储微信或支付宝流水
        /// </summary>
        [StringLength(64)]
        public string OutRefundOrderNo { get; set; }

        /// <summary>
        /// 退款金额
        /// </summary>
        public float? Amount { get; set; }

        /// <summary>
        /// 退款方式。1:微信,2:支付宝,3:银联
        /// </summary>
        public int? RefundWay { get; set; }

        /// <summary>
        /// 退款类型。1:仅退款,2:退货退款
        /// </summary>
        public int? RefundType { get; set; }

        /// <summary>
        /// 退货原因
        /// </summary>
        public int? Cause { get; set; }

        /// <summary>
        /// 退货理由
        /// </summary>
        [StringLength(200)]
        public string Reason { get; set; }

        /// <summary>
        /// 卖家备注
        /// </summary>
        [StringLength(200)]
        public string SellMemo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(200)]
        public string Remark { get; set; }

        /// <summary>
        /// 退款状态。1:等待审核,2:同意退款,3:拒绝退款
        /// </summary>
        public int RefundStatus { get; set; }
    }
}
